1
Trasformazioni Funzionali Fondamentali
AI019Lesson 3
00:00

In Elixir, il calcolo è visto come una serie di trasformazioni fondamentali. I dati sono immutabili e l'operatore = non serve per l'assegnazione, ma per corrispondenza di modelli.

1. L'operatore di corrispondenza

La corrispondenza ti permette di associare valori a modelli. Se la struttura del lato sinistro non corrisponde a quello destro, la trasformazione fallisce. Elixir utilizza operatori specializzati per il flusso di dati: Aritmetica (+, -, *, /), Confronto (===, !==, >=), e Unione (<> per le stringhe, ++ per le liste).

2. L'espressione 'with'

L'espressione with orchestra trasformazioni a più passi in cui il successo è condizionato. Permette di concatenare corrispondenze usando <-. A differenza dell'operatore di corrispondenza =, se una corrispondenza in <- fallisce, l'espressione restituisce il valore non corrispondente invece di sollevare un errore.

[1,2,3][a|_] <- inputa = 1Errore: Restituisci input

3. Ambito e sintassi

Sotto la superficie, with è trattato come un macro o chiamata di funzione. Le variabili definite al suo interno non si diffondono nell'ambito esterno. La sintassi come media = with cont = ..., do: somma/cont è il modo basato su espressioni per calcolare valori derivati.

$$\text{media} = \frac{\sum_{i=1}^{n} x_i}{n}$$

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>